package com.zyr.controller;


import com.zyr.entity.Content;
import com.zyr.service.IContentService;
import com.zyr.util.PageResult;
import com.zyr.util.R;

import com.zyr.vo.ContentVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.Arrays;
import java.util.List;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author zyr
 * @since 2025-01-15
 */
@RestController
@RequestMapping("/content")
public class ContentController {
    @Autowired
    private IContentService contentService;


    // 分页查询（不带条件）
    @GetMapping("/findByPage/{page}/{pageSize}")
    public R findByPage(@PathVariable("page") Integer page,
                        @PathVariable("pageSize") Integer pageSize) {
        PageResult<Content> pr = contentService.findByPage(page,pageSize);
        return R.ok().data("pr",pr);
    }
    // 分页查询（带条件）
    @PostMapping("/search/{page}/{pageSize}")
    public R search(@PathVariable("page") Integer page,
                         @PathVariable("pageSize") Integer pageSize,
                         @RequestBody(required = false) ContentVO vo){
        PageResult<Content> pr = contentService.search(page,pageSize,vo);
        return R.ok().data("pr",pr);
    }

    // 添加
    @PostMapping("/add")
    public R add(@RequestBody Content content){
        boolean flag = contentService.save(content);
        return flag ? R.ok().message("添加成功啦!欧耶") : R.error().message("添加失败!呜呜呜");
    }

    //修改
    @PutMapping("/update")
    public R update(@RequestBody Content content){
        boolean flag = contentService.updateById(content);
        return flag ? R.ok().message("修改成功!") : R.error().message("修改失败!");
    }


    // 批量删除
    @DeleteMapping("/delete/{ids}")
    public R delete(@PathVariable("ids") String ids){
        String[] temp = ids.split(",");
        List<String> list = Arrays.asList(temp);
        return contentService.removeByIds(list) ? R.ok().message("删除成功!") : R.error().message("删除失败!");
    }
}
